package mysql

import "sync"

var root string
var appName string

var wg sync.WaitGroup

func init() {
	appName = "ez"
}

func Init(c *Creator) {
	c.Table.Fields = c.Fields
	c.AppName = appName
	GenerateConfig(c)
	//model以及方法
	wg.Add(1)
	go func() {
		CreateModel(c)
		wg.Done()
	}()
	wg.Add(1)
	go func() {
		CreateEzModelConfig(c)
		wg.Done()
	}()
	wg.Add(1)
	go func() {
		CreateMod(c)
		wg.Done()
	}()
	//CreateCrud(c)
	wg.Add(1)
	go func() {
		CreateMigrate(c)
		wg.Done()
	}()
	//wg.Add(1)
	//go func() {
	//	CreateApiPageReg(c)
	//	wg.Done()
	//}()
	//控制器
	wg.Add(1)
	go func() {
		CreateController(c)
		wg.Done()
	}()
	wg.Add(1)
	go func() {
		CreateEmptyController(c)
		wg.Done()
	}()
	//配置文件
	wg.Add(1)
	go func() {
		CreateModelConfigFile(c) //模块配置
		wg.Done()
	}()
	wg.Add(1)
	go func() {
		CreateConfigPreload(c) //文件预加载
		wg.Done()
	}()
	wg.Add(1)
	go func() {
		CreateOrmConfigFile(c) //orm配置，暂时没什么用
		wg.Done()
	}()
	//CreateAuth(c)            //权限验证
	//CreateConfig(c)          //list字段配置
	//生成后台Vue管理端代码
	CreateVueAdminFile(c)
	wg.Wait()
}
